extends 技能基类
class_name 普通近战攻击技能

@export var 伤害值:int = 5

func 开始(目标网格:Vector2i, 技能结束回调: Callable)	:
	super.开始(目标网格, 技能结束回调)
	print(名称)
	角色.面向目标(目标网格)
	角色.播放技能动画("attack", 3, 造成伤害, 结束)
	
	
func 造成伤害():
	var 目标角色:角色单位 = 网格管理器.获取占用网格的角色(目标网格)
	if 目标角色 and 目标角色.队伍id!= 角色.队伍id:
		目标角色.受到伤害(伤害值)

	

func 获取技能范围(起点:Vector2i = 角色.当前网格坐标) -> Array[Vector2i]:
	var arr: = 网格管理器.获取范围网格集合(起点, 1)
	var results:Array[Vector2i] = []
	
	for b in arr:
		if 网格管理器.是否是障碍物网格(b):
			continue
		if 网格管理器.是否被队友占用网格(b, 角色):
			continue
		results.append(b)	
	
	return results
